Semiconductor integrated circuit and image processing system using the same

ABSTRACT

A circuit system is provided capable of improving the throughput thereof by eliminating the operational constraint that if the operating frequency of a content addressable memory is lower than the operating frequency of a system LSI, two system clocks should be provided, or the higher frequency should be synchronized with the slower system clock. A clock control circuit ( 103 ) for down-converting an internal clock (Φ 1 ) of a LSI ( 101 ) is provided, and a control signal whose frequency is made lower is used to operate a content addressable memory circuit ( 102 ).

CLAIM OF PRIORITY

The present application claims priority from Japanese application JP2004-303648, filed on Oct. 19, 2004, the content of which is hereby incorporated by reference into this application.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to semiconductor integrated circuits, and more particularly to a circuit for converting (down-converting) a frequency of a system clock (high-speed internal clock of LSI) to a lower frequency to control a storage circuit (more specifically, a content addressable memory (CAM) circuit). In addition, it relates to an image processing system using the same.

2. Description of the Related Arts

Heretofore, system LSIs (large-scale semiconductor integrated circuits) each having a built-in content addressable memory have been provided. One of such system LSIs is configured to generate a CAM control timing signal from a system clock. For example, refer to Japanese Patent

SUMMARY OF THE INVENTION

Heretofore, since the frequency of a system clock has been at the same level as the internal operating frequency of a content addressable memory (about from 125 to 250 MHz), it has been possible to control input/output signals of the content addressable memory by use of the system clock without causing problems.

However, in recent years, the frequency of a system clock is made higher (500 MHz) with the objective of improving the throughput and performance. On the other hand, a search control signal is still kept at 125 MHz. Because the operating frequency of search control largely depends on an electric current of a memory cell, it is not easy to speed up the operating frequency in question relative to surrounding logic parts.

In the configuration disclosed in FIG. 2 of Japanese Patent Laid-open No. 6-349284 described above, if a system clock is speeded up, it becomes impossible to load a coincidence line node (24) into a latch circuit (22) by a clock signal (26). This is because a response to the fall time of the coincidence line node (24) is slow, making it impossible to follow the system clock.

FIG. 5 is a diagram illustrating a configuration of an image processing LSI examined by the inventor prior to the proposal of the present invention. FIG. 6 illustrates a timing chart of the image processing LSI. A LSI clock Φ1 whose frequency is 500 MHz is divided into four to generate a clock Φ2 whose frequency is 125 MHz. A CAM macro is controlled by use of the clock F2. The table search (111) is started on the rising edge of the clock Φ1 (1). At this time, a SEARCH enable signal for controlling the CAM macro is loaded by use of the divided clock. On the rising edge of the clock Φ1 (5), more specifically, on the rising edge of the second cycle of the divided clock, an address output control signal is generated. The judgment/processing (112) are started at this point of time. Although the judgment/processing (112) ends in two cycles, the next control of the CAM macro can be started on the rising edge of the clock Φ1 (9), more specifically, on the rising edge of the third cycle of the divided clock. Here, the SEARCH enable signal is inputted again to perform table update (113). As a result, the number of cycles required for the search processing becomes 12 cycles. In this configuration, because the system clock is simply divided into four to use the divided clock as the internal clock, the internal clock is subject to constraints by the system clock. As a result, for example, in a case where the number of cycles required for the processing from the table search to the table update is given by a request from the system side, the number of times of obtaining enable signals per unit cycle cannot be sufficiently achieved. This poses a problem in that it is not possible to sufficiently achieve the speedup.

A typical example of the present invention will be described below.

To be more specific, according to one aspect of the present invention, there is provided a semiconductor integrated circuit comprising: a content addressable memory circuit; and a control circuit for, if an operating frequency of a control signal for controlling input/output signals of the content addressable memory circuit differs from an operating frequency of a LSI internal clock, adjusting the timing thereof.

According to the means described above, in the semiconductor integrated circuit that operates with a high-speed system clock, it is possible to achieve the speedup without constraints by the system clock by controlling the content addressable memory circuit that operates at a lower speed, using the clock that is down-converted by the control circuit for adjusting the timing.

One of the typical effects of the present invention including the above means is an improvement in throughput and performance.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating a configuration of a system LSI to which the present invention is applied;

FIG. 2 is a diagram illustrating a configuration of a system LSI in which a plurality of content addressable memory macros are controlled;

FIG. 3 is a diagram illustrating as an example a configuration of a clock control circuit shown in FIG. 1;

FIG. 4 is a diagram illustrating a configuration of a content addressable memory macro shown in FIG. 1;

FIG. 5 is a block diagram schematically illustrating a configuration of an image processing LSI to be controlled with a divided clock;

FIG. 6 is a timing chart of FIG. 5;

FIG. 7 is a block diagram schematically illustrating a configuration of an image processing LSI to which the present invention is applied, and which uses a clock control circuit; and

FIG. 8 is a timing chart of FIG. 7.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Preferred embodiments of the present invention will be described in detail with reference to drawings below.

First Embodiment

FIG. 1 illustrates a system LSI according to a first embodiment, which is an example of a semiconductor integrated circuit device to which the present invention is applied. One CAM macro 102 is placed on the system LSI 101 on which a clock control circuit according to this embodiment is placed. This embodiment is applied to, for example, LSIs for image processing.

In FIG. 1, reference numeral 103 denotes a clock control circuit for controlling a content addressable memory macro 102 a. The clock control circuit 103 is built into the CAM macro 102. This configuration produces effects of reducing man-hours required for mounting on LSI, and also facilitating the timing alignment between the content addressable memory macro 102 a and the clock control circuit 103. Signals inputted from external pins clock Φ0, 104, 105, 106 are connected to the clock control circuit 103. A buffer may also be added between each of the external pins and the clock control circuit 103. The clock control circuit 103 receives signals from the external pins 104, 105, 106 in synchronization with the clock Φ1 so as to generate a control signal for controlling the content addressable memory macro 102 a. In this case, a frequency of the generated signal is converted from a frequency (500 MHz) of LSI internal clock Φ1 to a lower frequency (250 MHz/125 MHz). Each signal of address input control, data input control, address output control, and data output control is directed from the clock control circuit 103 to the content addressable memory macro 102 a. Further, an address input pin, an address output pin, a data input pin, and a data output pin are connected to the content addressable memory macro 102 a.

FIG. 4 is a diagram illustrating a configuration of the content addressable memory macro 102 a. An address input end is connected to a FF10 through a buffer. The FF10 is controlled by address input control; and an output end of the FF10 is connected to a decoder circuit. A data input end is connected to a FF11 through a buffer. The FF11 is controlled by data input control; and an output end of the FF11 is connected to an input control circuit. The decoder circuit and the input control circuit are connected to a CAM array. The CAM array is connected to an output control circuit and an encoder circuit. An output end of the output control circuit is connected to a FF12; and the FF12 is controlled by data output control. An output of the FF12 is output through a buffer to data output. An output end of the encoder circuit is connected to a FF13; and the FF13 is controlled by address output control. An output of the FF13 is output through a buffer to address output.

Next, operation will be specifically described. In the case of read operation, when an address is inputted, the address is loaded into the FF10 by an address input control signal. From the loaded address, the decoder generates a signal used to select a desired memory cell of the CAM array. Next, the output control circuit reads out information stored in the selected memory cell. The information is then loaded into the FF12 by a data output control signal. The data loaded into the FF12 is output from the data output.

In the case of write operation, an address is loaded in a manner similar to that of the read operation. Write data is loaded in parallel with the loading of the address. The write data is inputted from the data input end, and is then loaded into the FF11 by a data input control signal. Through the input control circuit, the data is written to a memory cell selected by the address input.

In the case of search operation, inputted search data is compared with information stored in the CAM array. The search data is inputted from the data input end, and is then loaded into the FF11 by a data input control signal. The loaded data is transferred through the input control circuit to the CAM array. The transferred search data is compared with all pieces of information stored in the CAM array. The result of comparison is inputted into the encoder circuit. After that, the result of encoding is loaded into the FF13 by an address output control signal, and is then output as an address output.

FIG. 3 is a configuration diagram illustrating as an example a configuration of the clock control circuit 103. Input signals include a READ enable signal, a WRITE enable signal, a SEARCH enable signal, and a clock Φ1. Output signals include an address input control signal, an address output control signal, a data input control signal, and a data output control signal. Flip-flops FF1, FF2, FF3 are serially connected between the READ enable signal end and the data output control signal end. A flip-flop FF4 is connected to the WRITE enable signal end. Flip-flops FF5, FF6, FF7, FF8, FF9 are serially connected between the SEARCH enable signal end and the address output control signal end. A signal that is obtained by ORing RE1 with WE1 is equivalent to the address input control signal. A signal that is obtained by ORing WE1 with SE1 is equivalent to the data input control signal.

Operation performed when each of the enable signals is inputted will be specifically described below. In principle, exclusive control must be performed for each enable signal. When it is inputted, the READ enable signal is loaded into the FF1 by the clock Φ1. The READ enable signal is usually kept in a “0” state. At the time of read operation, “1” is inputted. A period of time during which “1” is inputted corresponds to a length of time during which the FF1 is allowed to input using one cycle of the clock Φ1. In addition, because the read operation is performed at a frequency of 250 MHz, the READ enable signal must be inputted at intervals of at least two cycles of the clock F1. An output signal RE1 of the FF1 becomes a signal having a width of about 200 ps, which is calculated from the frequency of the clock Φ1 (500 MHz). The output signal RE1 is then output as an address input control signal. Moreover, the output signal RE1 is successively loaded into the flip-flops FF2, FF3 that are serially connected to each other. Then, the output signal RE1 is output as the data output control signal after a lapse of two cycles from the rising edge of the address input control signal. This signal also has a width of about 200 ps.

When the WRITE enable signal is inputted, the WRITE enable signal is loaded into the flip-flop FF4 by the clock Φ1. The WRITE enable signal is usually kept in the “0” state. At the time of write operation, “1” is inputted. A period of time during which “1” is inputted corresponds to a length of time during which the FF4 is allowed to input using one cycle of the clock Φ1. In addition, because the write operation is performed at a frequency of 250 MHz, the WRITE enable signal must be inputted at intervals of at least two cycles of the clock Φ1. An output signal WE1 of the FF4 becomes a signal having a width of about 200 ps, which is calculated from the frequency of the clock Φ1 (500 MHz). The output signal WE1 is then output as an address input control signal and a data input control signal.

When it is inputted, the SEARCH enable signal is loaded into the flip-flop FF5 by the clock F1. The SEARCH enable signal is usually kept in the “0” state. At the time of search operation, “1” is inputted. A period of time during which “1” is inputted corresponds to a length of time during which the FF5 is allowed to input using one cycle of the clock Φ1. In addition, because the search operation is performed at a frequency of 125 MHz, the SEARCH enable signal must be inputted at intervals of at least four cycles of the clock Φ1. An output signal SE1 of the FF5 becomes a signal having a width of about 200 ps, which is calculated from the frequency of the clock Φ1 (500 MHz). The output signal SE1 is then output as a data input control signal. Moreover, the output signal SE1 is successively loaded into the flip-flops FF6, FF7, FF8, FF9 that are serially connected to each other. Then, the output signal SE1 is output as the address output control signal after a lapse of four cycles from the rising edge of the data input control signal. This signal also has a width of about 200 ps.

The clock control circuit 103 ensures the desired timing of each control signal by serially connecting the flip-flops (FF). In this method, centralizing locations at which the flip-flops are placed makes it possible to ensure the desired timing relatively easily. Additionally, even if the operating frequency of a storage circuit to be controlled is changed, it is possible to easily cope with the change by adjusting the number of stages of flip-flops to be serially connected. Moreover, each control signal is a control signal used to control the loading into the flip-flops. Accordingly, it is necessary to ensure the setup time and the hold time that enable the loading. An adjustment circuit for ensuring the setup time and the hold time is obtained by inserting a delay circuit thereto. The delay circuit may be configured with the even number of inverter circuits that are serially connected to each other.

FIG. 7 is a diagram schematically illustrating a configuration of an image processing LSI that is controlled by the clock control circuit. The LSI 101 includes a CAM macro 102, and an image processing logic for controlling the CAM macro 102. In addition, the LSI 102 includes a built-in clock control circuit 103. The clock control circuit 103 and the image processing logic are controlled by an internal clock Φ1. Next, a control example in which a CAM macro of an image processing system is used will be described. First of all, table search (111) is performed in four cycles by use of the CAM macro, and then the result of the table search is judged/processed (112) in the image processing logic. Further, table update (113) is performed in four cycles by use of the CAM macro. It is to be noted that although the judgment/processing are performed at least in two cycles, the number of cycles can be arbitrarily increased depending on a kind of system.

FIG. 8 is a time chart illustrating signals observed when the clock control circuit included in the LSI shown in FIG. 7 is used. The table search (111) is started on the rising edge of the clock Φ1 (1). At this time, a SEARCH enable signal for controlling the CAM macro is inputted on the rising edge of the clock Φ1 (1). Next, in response to the rising (5) of the clock Φ1, an address output control signal is generated. The judgment/processing (112) are started at this point of time. The judgment/processing (112) end in two cycles. Accordingly, on the rising edge of the clock Φ1 (7), a SEARCH enable signal is inputted to start the table update (113). As a result, the number of cycles required for the search processing becomes 10 cycles. Accordingly, as compared with the method shown in FIG. 5, it is possible to decrease the number of cycles by two cycles, which enables an improvement in throughput.

Second Embodiment

FIG. 2 illustrates a second embodiment. A plurality of CAM macros 102 are placed on a system LSI 101 on which a clock control circuit according to this embodiment is placed. This embodiment is applied to LSIs used for a network whose search bit width is large. The LSIs include, for example, IPv6. In this case, one clock control circuit 103 is used to control a plurality of CAM macros. This makes it possible to achieve an improvement in throughput, and also to reduce the chip area.

In FIG. 2, reference numeral 103 denotes a clock control circuit for controlling a CAM macro 102. The clock control circuit 103 is located on the LSI. With the increase in the number of CAM macros 102 to be controlled, the area efficiency increases. Signals inputted from external pins (clock F0, 104, 105, 106) are connected to the clock control circuit 103. A buffer may also be added between each of the external pins and the clock control circuit 103. The clock control circuit 103 receives signals from the external pins 104, 105, 106 in synchronization with the clock F1 so as to generate a control signal for controlling a content addressable memory macro 102 a. An address input control signal, an address output control signal, a data input control signal, and a data output control signal, which are generated, are directed from the clock control circuit 103 to the content addressable memory macro 102 a through bus wiring on the LSI. Further, an address input pin, an address output pin, a data input pin, and a data output pin are connected to the content addressable memory macro 102 a.

The invention made by the present inventor has been specifically described as above on the basis of the embodiments. However, the present invention is not limited to the above embodiments. As a matter of course, the present invention can be changed in various ways within the range without departing from the gist thereof. For example, how to configure the clock control circuit shown in FIG. 1 is not limited to the configuration shown in FIG. 3. Any configuration may also be used so long as the clock control circuit has the same function.

In addition, it is also possible to adopt a configuration that uses in combination the method according to the first embodiment in which the CAM macro 102 including the built-in clock control circuit is used, and the method according to the second embodiment in which the clock control circuit is located on a chip to control a plurality of content addressable memories. As a result, the present invention can also be applied even in a case where CAM macros whose operating frequencies differ from each other are placed on the same LSI.

In the above description, the invention made by the present inventor has been mainly applied to the semiconductor integrated circuit having the built-in content addressable memory that is included in a field relating to the background on which the present invention is made. However, the present invention is not limited to this. The present invention can also be applied to a semiconductor integrated circuit having other kinds of built-in memories, for example, RAM or ROM.

Incidentally, the reference numerals used in the diagrams of the application concerned will be listed as below.

-   101 . . . System LSI -   102 . . . CAM macro -   102 a . . . Content addressable memory macro -   103 . . . Clock control circuit -   104 . . . READ enable signal -   105 . . . WRITE enable signal -   106 . . . SEARCH enable signal 

1. A semiconductor integrated circuit comprising: a storage circuit; and a control circuit which, if an operating frequency of a control signal for controlling input/output signals of the storage circuit differs from an operating frequency of a system clock, adjusts timing of the control signal relative to the system clock.
 2. The semiconductor integrated circuit according to claim 1, wherein said storage circuit is a content addressable memory circuit which compares inputted search data with data stored in a memory cell with respect to at least one memory cell including the memory cell, and which outputs at least either information about addresses corresponding to both of the data which agree with each other or information indicating that both of the data agree with each other.
 3. The semiconductor integrated circuit according to claim 2, wherein said content addressable memory circuit is configured to perform write operation and read operation, and an operating frequency of maintenance operation for the write operation and the read operation differs from an operating frequency of search operation.
 4. The semiconductor integrated circuit according to claim 3, wherein the operating frequency of the maintenance operation is 250 MHz, whereas the operating frequency of the search operation is 125 MHz.
 5. The semiconductor integrated circuit according to claim 1, wherein said input/output signals include an address and search data.
 6. The semiconductor integrated circuit according to claim 5, wherein said address is an address of a target memory cell of at least either writing or reading, and the search data and write data are used in common.
 7. The semiconductor integrated circuit according to claim 5, wherein said control signal is an enable signal that controls at least one of search operation, write operation, and read operation.
 8. The semiconductor integrated circuit according to claim 7, wherein said enable signal is a search control signal used to input the search data.
 9. The semiconductor integrated circuit according to claim 7, wherein said enable signal is a write control signal used to input the address and the search data.
 10. The semiconductor integrated circuit according to claim 7, wherein said enable signal is a read control signal used to input the address.
 11. The semiconductor integrated circuit according to claim 1, wherein the operating frequency of the control signal is lower than the operating frequency of the system clock.
 12. The semiconductor integrated circuit according to claim 1, wherein said timing includes at least one of the setup time and the hold time during which the input/output signals are inputted into the storage circuit by the control signal.
 13. The semiconductor integrated circuit according to claim 12, wherein if the operating frequency of the control signal differs from the operating frequency of the system clock, said control circuit keeps at least one of the setup time and the hold time.
 14. The semiconductor integrated circuit according to claim 13, wherein said control circuit includes a flip-flop circuit having an adjustment width that is synchronized with a clock.
 15. The semiconductor integrated circuit according to claim 13, wherein said control circuit includes a delay circuit for achieving a desired adjustment time.
 16. A semiconductor integrated circuit comprising: an input terminal adapted to receive an input signal; an output terminal adapted to receive an output signal; a storage circuit for storing information corresponding to the input signal inputted from the input terminal, and for outputting to the output terminal, as the output signal, a signal corresponding to information selected from stored information, said selected information satisfying a specified condition; a control terminal adapted to receive a first control signal; a clock terminal adapted to receive a system clock; and a control circuit for generating a second control signal by converting the timing of the first control signal relative to the system clock, said second control signal controlling at least either input operation of inputting the input signal into the storage circuit or output operation of outputting the output signal from the storage circuit, wherein said storage circuit is configured to include a built-in content addressable memory macro, said content addressable memory macro being electrically connected to the input terminal and the output terminal, wherein said control circuit is electrically connected to the control terminal, the clock terminal, and the content addressable memory macro, and wherein said control circuit generates the second control signal from the first control signal on the basis of the system clock, and controls at least either the input operation or the output operation on the basis of the second control signal that has been generated.
 17. The semiconductor integrated circuit according to claim 16, wherein said control circuit is built into the storage circuit.
 18. The semiconductor integrated circuit according to claim 17, wherein the plurality of storage circuits, each of which includes the built-in control circuit, are integrated on a single semiconductor chip.
 19. The semiconductor integrated circuit according to claim 18, wherein among the plurality of storage circuits, said second control signals, each of which is given from each control circuit to each storage circuit in which said each control circuit is built, are different from one another.
 20. The semiconductor integrated circuit according to claim 17, wherein said input terminal includes an address input terminal and a data input terminal, and said output terminal includes an address output terminal and a data output terminal, wherein said control terminal includes a read enable terminal, a write enable terminal, and a search enable terminal, wherein said input signal includes an address input signal and a data input signal, said information includes an address and data, and said output signal includes an address output signal and data output signal, wherein said first control signal includes a read enable signal, a write enable signal, and a search enable signal, and said second control signal includes an address input control signal, an address output control signal, a data input control signal, and a data output control signal, wherein said address input control signal is generated on the basis of the read enable signal and the write enable signal, said address output control signal is generated on the basis of the search enable signal, said data input control signal is generated on the basis of the write enable signal and the search enable signal, and said data output control signal is generated on the basis of the read enable signal, and wherein said address input signal is inputted from the address input terminal to the content addressable memory macro on the basis of the address input control signal, said address output signal is output from the content addressable memory macro to the address output terminal on the basis of the address output control signal, said data input signal is inputted from the data input terminal to the content addressable memory macro on the basis of the data input control signal, and said data output signal is output from the content addressable memory macro to the data output terminal on the basis of the data output control signal.
 21. The semiconductor integrated circuit according to claim 16, wherein said control circuit is located outside the storage circuit, and is integrated on a single semiconductor chip together with the storage circuit, and is electrically connected to the storage circuit.
 22. The semiconductor integrated circuit according to claim 21, further comprising another storage circuit having a configuration similar to that of the storage circuit, wherein said another storage circuit is integrated on a single semiconductor chip together with the storage circuit.
 23. The semiconductor integrated circuit according to claim 22, wherein said another storage circuit is configured to include another built-in control circuit having a configuration similar to that of the control circuit.
 24. The semiconductor integrated circuit according to claim 23, wherein said second control signal that is given from the control circuit to the storage circuit electrically connected to the control circuit is different from said second control signal that is given from said another control circuit to said another storage circuit in which said another control circuit is built.
 25. The semiconductor integrated circuit according to claim 22, wherein said another storage circuits are electrically connected to the control circuit, and the control circuit is shared by the storage circuit and said another storage circuit.
 26. The semiconductor integrated circuit according to claim 22, wherein said another storage circuits are electrically connected to another control circuit having a configuration similar to that of the control circuit, and said another control circuit are integrated on a single semiconductor chip together with the storage circuit in question, said another storage circuit, and the control circuit.
 27. The semiconductor integrated circuit according to claim 26, wherein said second control signal that is given from the control circuit to the storage circuit electrically connected to the control circuit is different from said second control signal that is given from said another control circuit to said another storage circuit electrically connected to said another control circuit.
 28. The semiconductor integrated circuit according to claim 21, wherein said input terminal includes an address input terminal and a data input terminal, and said output terminal includes an address output terminal and a data output terminal, wherein said control terminal includes a read enable terminal, a write enable terminal, and a search enable terminal, wherein said input signal includes an address input signal and a data input signal, said information includes an address and data, and said output signal includes an address output signal and data output signal, wherein said first control signal includes a read enable signal, a write enable signal, and a search enable signal, and said second control signal includes an address input control signal, an address output control signal, a data input control signal, and a data output control signal, wherein said address input control signal is generated on the basis of the read enable signal and the write enable signal, said address output control signal is generated on the basis of the search enable signal, said data input control signal is generated on the basis of the write enable signal and the search enable signal, and said data output control signal is generated on the basis of the read enable signal, and wherein said address input signal is inputted from the address input terminal to the content addressable memory macro on the basis of the address input control signal, said address output signal is output from the content addressable memory macro to the address output terminal on the basis of the address output control signal, said data input signal is inputted from the data input terminal to the content addressable memory macro on the basis of the data input control signal, and said data output signal is output from the content addressable memory macro to the data output terminal on the basis of the data output control signal.
 29. An image processing system comprising: an image processing logic circuit; a storage circuit which is electrically connected to the image processing logic circuit, and which is configured to store an output of the image processing logic circuit, and to output stored information to the image processing logic circuit; and a control circuit which, if an operating frequency of a control signal for controlling input/output signals of the storage circuit differs from an operating frequency of a system clock, adjusts timing of the control signal to the system clock.
 30. The image processing system according to claim 29, wherein said storage circuit is a content addressable memory circuit which compares inputted search image data with image data stored in a memory cell with respect to at least one memory cell including the memory cell, and which outputs at least either information about addresses corresponding to both of the image data that agree with each other or information indicating that both of the image data agree with each other. 